package com.guchenbo.erp.inventory.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.guchenbo.erp.dao.entity.ErpBaseModel;
import java.math.BigDecimal;

/**
 * <p>
 * 库存成本变动流水表
 * </p>
 *
 * @author guchenbo
 * @since 2025-07-12
 */
@TableName("erp_inventory_cost_log")
public class InventoryCostLog extends ErpBaseModel {

    @TableId(value = "log_id", type = IdType.AUTO)
    private Long logId;

    private Long productId;

    private Long warehouseId;

    private String batchNo;

    /**
     * 入库、出库、结转、盘点等
     */
    private String changeType;

    private BigDecimal changeQty;

    private BigDecimal changeAmount;

    private BigDecimal costPrice;

    private String refOrderType;

    private Long refOrderId;

    public Long getLogId() {
        return logId;
    }

    public void setLogId(Long logId) {
        this.logId = logId;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Long getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseId(Long warehouseId) {
        this.warehouseId = warehouseId;
    }

    public String getBatchNo() {
        return batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    public String getChangeType() {
        return changeType;
    }

    public void setChangeType(String changeType) {
        this.changeType = changeType;
    }

    public BigDecimal getChangeQty() {
        return changeQty;
    }

    public void setChangeQty(BigDecimal changeQty) {
        this.changeQty = changeQty;
    }

    public BigDecimal getChangeAmount() {
        return changeAmount;
    }

    public void setChangeAmount(BigDecimal changeAmount) {
        this.changeAmount = changeAmount;
    }

    public BigDecimal getCostPrice() {
        return costPrice;
    }

    public void setCostPrice(BigDecimal costPrice) {
        this.costPrice = costPrice;
    }

    public String getRefOrderType() {
        return refOrderType;
    }

    public void setRefOrderType(String refOrderType) {
        this.refOrderType = refOrderType;
    }

    public Long getRefOrderId() {
        return refOrderId;
    }

    public void setRefOrderId(Long refOrderId) {
        this.refOrderId = refOrderId;
    }

    @Override
    public String toString() {
        return "InventoryCostLog{" +
            "logId = " + logId +
            ", productId = " + productId +
            ", warehouseId = " + warehouseId +
            ", batchNo = " + batchNo +
            ", changeType = " + changeType +
            ", changeQty = " + changeQty +
            ", changeAmount = " + changeAmount +
            ", costPrice = " + costPrice +
            ", refOrderType = " + refOrderType +
            ", refOrderId = " + refOrderId +
        "}";
    }
}
